<?php
 ////////////////////////////////////////////////////////////
  // Mô tả chức năng của file/////////////////////////////////
  // 1. Chức năng : Tạo mã (code) tự động cho các module
  // 2. Phương pháp : Dựa vào logic_hook tạo xử lý, event : Before Save
  // 3. Xử lý :
  //    - Lấy chỉ số cao nhất của field Auto của module
  //    - Tăng chỉ số này lên 1 đơn vị
  //    - Xét module đang xét, tạo các tiếp đầu ngữ cho từng module
  //    - Xét số chữ số của chỉ số này để tạo số 0 đầu chỉ số
  //    - Sau đó lấy tiếp đầu ngũ + chỉ số và ghép vào biến Code
  //    - Cập nhật biến Code này cho dòng mới save.
  ////////////////////////////////////////////////////////////
  if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point'); 
  require_once('data/SugarBean.php'); 
  
  class Autocode{
      function Madecode(&$bean,$event,$arguments){
          global $db, $app_list_strings;
          $sql = "SELECT Max(autocode) as auto FROM ".$bean->table_name;
          $result = $db->query($sql);
          $row1 = $db->fetchByAssoc($result);
          $row =  $row1['auto'] + 1 ;
          $pre = "";
          
          //$a = array("fits"=>"FIT", "account"=>"GIT");
           /*
          if($bean->table_name == "fits"){
             $pre = "FIT"; 
          }
          if($bean->table_name == "accounts"){
             $pre = "GIT"; 
          }
          if($bean->table_name == "quotes"){
             $pre = "QUO"; 
          }
          if($bean->table_name == "passports"){
             $pre = "VIS"; 
          }
          if($bean->table_name == "PassportList"){
             $pre = "PSS"; 
          }
          if($bean->table_name == "locations"){
             $pre = "LCT"; 
          }
          if($bean->table_name == "insurances"){
             $pre = "ISL"; 
          }
          if($bean->table_name == "AirlinesTickets"){
             $pre = "ALT"; 
          }
          if($bean->table_name == "roombookings"){
             $pre = "RBK"; 
          }
          if($bean->table_name == "restaurantbookings"){
             $pre = "RTK"; 
          }
          if($bean->table_name == "servicebookings"){
             $pre = "SBK"; 
          }
          if($bean->table_name == "TransportBookings"){
             $pre = "TBK"; 
          }
          if($bean->table_name == "travelguides"){
             $pre = "TRG"; 
          }
          if($bean->table_name == "billing"){
             $pre = "BLL"; 
          }
          if($bean->table_name == "c_approval"){
             $pre = "APV"; 
          }
          if($bean->table_name == "aos_pdf_templates"){
             $pre = "TEM"; 
          }
          if($bean->table_name == "documents"){
             $pre = "DOC"; 
          }
          if($bean->table_name == "AirlinesTicketsLists"){
             $pre = "ATL"; 
          }
          if($bean->table_name == "airlines"){
             $pre = "AIR"; 
          }
          if($bean->table_name == "TicketExchangeOrders"){
             $pre = "TEO"; 
          }
          if($bean->table_name == "ticketorder"){
             $pre = "TKO"; 
          }
          if($bean->table_name == "orders" || $bean->table_name == "oders"  ){ //fix bug: 382
             $pre = "ODR"; 
          }
          if($bean->table_name == "grouplists"){
             $pre = "GRL"; 
          }
          if($bean->table_name == "transports"){
             $pre = "TRA"; 
          }
          if($bean->table_name == "hotels"){
             $pre = "KHS"; 
          }
          if($bean->table_name == "restaurants"){
             $pre = "NHH"; 
          }
          if($bean->table_name == "Comments"){
             $pre = "COM"; 
          }
          if($bean->table_name == "commentairlines"){
             $pre = "CMA"; 
          }
          if($bean->table_name == "countries"){
             $pre = "CON"; 
          }
          if($bean->table_name == "destinations"){
             $pre = "DES"; 
          }
          if($bean->table_name =="services"){
              $pre = "SER";
          }
          if($bean->table_name =="landfee"){
              $pre = "LAN";
          } */
          
          $pre = $app_list_strings['autocode_dom'][$bean->table_name];
          
          if($row >= 0 && $row <=9){
              $pre .= "00000";
          }
          if($row >= 10 && $row <=99){
              $pre .= "0000";
          }
          if($row >= 100 && $row <=999){
              $pre .= "000";
          }
          if($row >= 1000 && $row <=9999){
              $pre .= "00";
          }
          if($row >= 10000 && $row <=99999){
              $pre .= "0";
          }
          if($row >= 100000){//
              $pre .= "";
          }
          #if($_POST['record'] == ""){
          #if($bean->id == ""){
              
          $query = "SELECT COUNT(*) AS total FROM {$bean->table_name} WHERE id='{$bean->id}'";
          
          $result = $db->query($query);
          $check = $db->fetchByAssoc($result);
          if($check['total']== 0){// not exist
              $bean->autocode = $row ; 
              $bean->code = $pre.$row; 
          }
              
             
          #}
          
      } 
  }
  

?>
